package com.atguigu.error;

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * @版本： V5.1.0
 * @版权： Copyright @ 2025 广东广昱信息科技有限公司版权所有
 * @作者： 广东广昱信息科技有限公司
 * @日期： 2025-07-04 22:47
 */
//全局异常发生，会走此类写的handler
//@ControllerAdvice   //可以返回逻辑视图 转发和重定向
@RestControllerAdvice   //@ResponseBody直接返回json字符串
public class GlobalExceptionHandler {

    //发生异常 -> ControllerAdvice 注解的类型 -> @ExceptionHandler(指定的异常) -> handler
    //指定的异常 可以精准查找，或者查找父类异常

    @ExceptionHandler(ArithmeticException.class)
    public Object ArithmeticExceptionHandler(ArithmeticException e) {
       //自定义处理异常即可 handler
        String message = e.getMessage();
        System.out.println("message = " + message);
        return message;
    }

    @ExceptionHandler(Exception.class)
    public Object ExceptionHandler(Exception e) {
        //自定义处理异常即可 handler
        String message = e.getMessage();
        System.out.println("message = " + message);
        return message;
    }
}
